﻿@model SGCC.Models.ObraModel

@{
    ViewBag.Title = "Editar";

    //Cria uma lista com todos os clientes
    List<SelectListItem> listaClientes = new List<SelectListItem>();

    var clientes = new SGCC.Models.ClienteModel().ListarClientes();
    listaClientes.Add(new SelectListItem()
    {
        Text = "Selecione um cliente",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Cliente c in clientes)
    {
        listaClientes.Add(new SelectListItem()
        {
            Text = c.Nome,
            Value = Convert.ToString(c.ClienteId),
            Selected = false
        });
    }

    ViewBag.clientes = listaClientes;

    //Cria uma lista com todos os Engenheiros
    List<SelectListItem> listaEngenheiros = new List<SelectListItem>();

    var engenheiros = new SGCC.Models.EngenheiroModel().ListarEngenheiros();
    listaEngenheiros.Add(new SelectListItem()
    {
        Text = "Selecione um engenheiro",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Engenheiro e in engenheiros)
    {
        listaEngenheiros.Add(new SelectListItem()
        {
            Text = e.Nome,
            Value = Convert.ToString(e.EngenheiroId),
            Selected = false
        });


        ViewBag.engenheiros = listaEngenheiros;
    }

    //Cria uma lista com todos os Arquiteto
    List<SelectListItem> listaArquitetos = new List<SelectListItem>();

    var arquitetos = new SGCC.Models.ArquitetoModel().ListarArquitetos();
    listaArquitetos.Add(new SelectListItem()
    {
        Text = "Selecione um arquiteto",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Arquiteto a in arquitetos)
    {
        listaArquitetos.Add(new SelectListItem()
        {
            Text = a.Nome,
            Value = Convert.ToString(a.ArquitetoId),
            Selected = false
        });


        ViewBag.arquitetos = listaArquitetos;
    }

    //Cria uma lista com todos os Tipos de construção
    List<SelectListItem> listaTiposConstrucao = new List<SelectListItem>();

    var tiposConstrucao = new SGCC.Models.TipoConstrucaoModel().ListarTiposContrucao();
    listaTiposConstrucao.Add(new SelectListItem()
    {
        Text = "Selecione um Tipo",
        Value = null,
        Selected = true
    });

    foreach (SGCC.TipoConstrucao tc in tiposConstrucao)
    {
        listaTiposConstrucao.Add(new SelectListItem()
        {
            Text = tc.Nome,
            Value = Convert.ToString(tc.TipoConstrucaoId),
            Selected = false
        });


        ViewBag.tiposConstrucao = listaTiposConstrucao;
    }

    //Cria uma lista com todas os estados
    List<SelectListItem> listaEstados = new List<SelectListItem>();

    var estados = new SGCC.Models.EstadoModel().ListarEstados();
    listaEstados.Add(new SelectListItem()
    {
        Text = "Selecione um Estado",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Estado e in estados)
    {
        listaEstados.Add(new SelectListItem()
        {
            Text = e.Sigla,
            Value = Convert.ToString(e.EstadoId),
            Selected = false
        });
    }

    ViewBag.estados = listaEstados;

    //Cria uma lista com todas as cidades
    List<SelectListItem> listaCidades = new List<SelectListItem>();

    var cidades = new SGCC.Models.CidadeModel().ListarCidades();
    listaCidades.Add(new SelectListItem()
    {
        Text = "Selecione uma cidade",
        Value = null,
        Selected = true
    });

    foreach (SGCC.Cidade c in cidades)
    {
        listaCidades.Add(new SelectListItem()
        {
            Text = c.Nome,
            Value = Convert.ToString(c.CidadeId),
            Selected = false
        });
    }

    ViewBag.cidades = listaCidades;
}

<h2>Editar Obra</h2>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>FuncionarioModel</legend>

        @Html.HiddenFor(model => model.Id)
    
        <table class="tabela-cadastros">
            
            <tr>
                <td class="cad-titulo">@Html.LabelFor(model => model.clienteId)</td>
                <td>@Html.DropDownListFor(model => model.clienteId, (List<SelectListItem>)ViewBag.clientes, new { @class = "cad-input" })</td>
                <td>@Html.ValidationMessageFor(model => model.clienteId)</td>
            </tr>
            <tr>
                <td class="cad-titulo">@Html.LabelFor(model => model.engenheiroId)</td>
                <td>@Html.DropDownListFor(model => model.engenheiroId, (List<SelectListItem>)ViewBag.engenheiros, new { @class = "cad-input" })</td>
                <td>@Html.ValidationMessageFor(model => model.engenheiroId)</td>
            </tr>
            <tr>
                <td class="cad-titulo">@Html.LabelFor(model => model.arquitetoId)</td>
                <td>@Html.DropDownListFor(model => model.arquitetoId, (List<SelectListItem>)ViewBag.arquitetos, new { @class = "cad-input" })</td>
                <td>@Html.ValidationMessageFor(model => model.arquitetoId)</td>
            </tr>
            <tr>
                <td class="cad-titulo">@Html.LabelFor(model => model.tipoConstrucaoId)</td>
                <td>@Html.DropDownListFor(model => model.tipoConstrucaoId, (List<SelectListItem>)ViewBag.tiposConstrucao, new { @class = "cad-input" })</td>
                <td>@Html.ValidationMessageFor(model => model.tipoConstrucaoId)</td>
            </tr>
            <tr>
                <td class="cad-titulo"><label for="ddEstado">Estado*</label></td>
                <td><select class="cad-input" id="ddEstado"></select></td>
            </tr>

            <tr>
                <td class="cad-titulo"><label for="ddCidade">Cidade*</label></td>
                <td><select class="cad-input" id="ddCidade"></select></td>
            </tr>
            <tr>
                <td class="cad-titulo">@Html.LabelFor(model => model.logradouro)</td>
                <td>@Html.TextBoxFor(model => model.logradouro, new { @class = "cad-input" })</td>
                <td>@Html.ValidationMessageFor(model => model.logradouro)</td>
            </tr>
            <tr>
                <td class="td-Enviar" colspan="2">
                    <input type="submit" value="Salvar" />
                </td>

            </tr>
        </table>
    </fieldset>
    @Html.HiddenFor(m => m.estadoId)
    @Html.HiddenFor(m => m.cidadeId)
}

<div>
    @Html.ActionLink("Voltar", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
<script>
$(function () {
    $("#dataNasc").datepicker();
});

function carregarEstados() {
    $.getJSON('/estado/get', function (data, status) {
        var estados = $("#ddEstado");

        estados.empty();

        $.each(data, function (i, item) {
            var option = $("<option />");
            option.attr("value", item.Id).text(item.Sigla);
            estados.append(option);
        });

        var estado = $("#estadoId").val();

        $('#ddEstado option[value="' + estado + '"]').attr('selected', 'selected');

        carregarCidades();
    });
}

function carregarCidades() {
    var estado = $("#ddEstado option:selected").val();

    $("#estadoId").val(estado);

    $.getJSON('/cidade/get?uf=' + estado, function (data) {
        var cidades = $("#ddCidade");

        cidades.empty();

        $.each(data, function (i, item) {
            var option = $("<option />");
            option.attr("value", item.Id).text(item.Nome);
            cidades.append(option);
        });

        var cidade = $("#cidadeId").val();

        $('#ddCidade option[value="' + cidade + '"]').prop('selected', true);
    });
}

$("#ddEstado").change(function (evt) {
    carregarCidades();
});

$("#ddCidade").change(function (evt) {
    var cidade = $("#ddCidade option:selected").val();

    $("#cidadeId").val(cidade);
});

carregarEstados();


</script>